﻿/*
Nombre:                         ICuentaDao
Descripcion:                    Interfaz que maneja las funciones principales sobre los datos de las cuentas manejadas en la capa de persistencia
Dependencias:                 
Fecha de creación:              20081108
Autor:                          VMORALES
Fecha de modifcación:         
Responsable:                  
Num. de modifcación:            0
*/

#region Imports

using Electrocucaracha.AdminPersonal.DAO.Entidades;
using System;

#endregion

namespace Electrocucaracha.AdminPersonal.DAO
{
    /// <summary>
    /// Interfaz que maneja las funciones principales sobre los datos de las cuentas manejadas en la capa de persistencia
    /// </summary>
    public interface ICuentaDao : IGenericoDao<CuentaDTO>, IActivo<CuentaDTO>
    {
        /// <summary>
        /// Funcion que devuelve todas las cuentas de un banco en especifico capturadas en la capa de persistencia
        /// </summary>
        /// <param name="banco">Banco a filtrar</param>
        /// <returns>Conjunto de cuentas</returns>
        CuentaDTO[] Obtener(BancoDTO banco);

        /// <summary>
        /// Funcion que devuelve todas las cuentas de un titular en especifico capturadas en la capa de persistencia
        /// </summary>
        /// <param name="titular">Titular a filtrar</param>
        /// <returns>Conjunto de cuentas</returns>
        CuentaDTO[] Obtener(TitularDTO titular);
        
        /// <summary>
        /// Funcion que elimina todas las cuentas de un banco en especifico capturadas en la capa de persistencia
        /// </summary>
        /// <param name="banco">Banco a eliminar cuentas</param>
        bool Eliminar(BancoDTO banco);

        /// <summary>
        /// Funcion que elimina todas las cuentas de un titular en especifica capturadas en la capa de persistencia
        /// </summary>
        /// <param name="titular">Titular a eliminar cuentas</param>
        bool Eliminar(TitularDTO titular);

    }//ICuentaDao
}//Electrocucaracha.AdminPersonal.DAO